package com.ybkj.daijia.server.sp;

import java.io.Serializable;
import java.util.Date;

/**
 * BJ 司机端GPS信息 spmodel 驾驶员定位信息接口 spmodel 车辆定位信息接口
 *
 * @author Sakura
 */
public class SjwzMessage implements Serializable {

    private static final long serialVersionUID = -3397784415923002854L;

    private String appKey;

    private String type = Type.MOREQ_SJWZ;

    /**
     * BJ 司机端GPS信息（MOREQ_SJWZ）
     */
    private String driverName;// 司机姓名

    private String driverIdCode;// 身份证号

    private String vehicleLicense;// 车牌号码

    private Date gpsTime;// GPS时间yyyy-MM-dd HH:mm:ss

    private Double lon;// 经度,Double（BD02），精确至小数点后6位

    private Double lat;// 纬度,Double（BD02），精确至小数点后6位

    private Double speed;// 瞬时速度,Double，单位：km/h，精确至小数点后2位

    private String operateType;// 运营状态,固定字符,EMPTY空载；HALT停运；DISPATCH调度中；PASSENGER载客

    private String positionType;// 位置类型,固定字符,定时上传要求30秒上传一次司机端GPS信息。另外在“司机上班、司机下班、乘客上车、乘客下车、订单派单”发生时，额外上传一条GPS信息（区别于定时上传）,SJSB:司机上班SJXB:司机下班CKSC:乘客上车CKXC:乘客下车AUTO:定时上传DDPD：订单派单(订单与车辆绑定时刻)

    private Double azimuth;// 方位角,取值：0.0-179.0之间0.0代表正北每刻度为2度，顺时针,Double单位度

    private String warnStatus;// 报警状态,固定字符,0：否1：是

    private String alarmStatus;// 预警状态,参考JT/T 808

    private String orderNo;// 订单编号

    private Double altitude;// 海拔高度 Double ，单位：米，精确至小数点后2位

    private String vehStatus;// 车辆状态,参考JT/T808

    private String enCode;// 坐标加密标识 ,固定字符串,1：GCJ-02 测绘局标准2：WGS84 GPS标准3：BD-09 百度标准0：其他

    /**
     * spmodel 驾驶员定位信息接口
     */
    //private String licenseId;//机动车驾驶证号（与driverIdCode重复）

    private String driverRegionCode;//行政区划代码

    //private Long vehicleNo;//车辆号牌（与vehicleLicense重复）

    //private Long positionTime;//定位时间（与gpsTime重复）

    //private Long longitude;//经度（与lon重复）

    //private Long latitude;//纬度（与lat重复）

    //private Long encrypt;//坐标加密标识（与enCode重复）

    //private Long direction;//方向角（与azimuth重复）

    //private Long elevation;//海拔高度（与altitude重复）

    //private Long speed;//瞬时速度（重复）

    //private Long bizStatus;//营运状态（与operateType重复）

    //private String orderId;//订单编号（与orderNo重复）

    /**
     * spmodel 车辆定位信息接口
     */
    //private String vehicleNo;//车辆号牌（与vehicleLicense重复）

    private Long vehicleRegionCode;//行政区划代码

    //private Long positionTime;//定位时间unixtime（与gpsTime重复）

    //private Long longitude;//经度（与lon重复）

    //private Long latitude;//纬度（与lat重复）

    //private Long speed;//瞬时速度（重复）

    //private Long direction;//方向角（与azimuth重复）

    //private Long elevation;//海拔高度（与altitude重复）

    private Long mileage;//行驶里程

    //private Long encrypt;//坐标加密标识（与enCode重复）

    //private Long warnStatus;//报警状态（重复）

    //private Long vehStatus;//车辆状态（重复）

    //private Long bizStatus;//营运状态（与operateType重复）

    //private String orderId;//订单编号,非营运状态下填“0”（与orderNo重复）

    /**
     * szmodel 驾驶员定位信息 (JSYDW)
     */
    private String driCertNo;//网约车驾驶员证号

    private String licenseId;//驾档编号

    //private String vehicleNo;//车牌号（与vehicleLicense重复）

    //private String positionTime;//定位时间（与gpsTime重复）

    //private String longitude;//经度（与lon重复）

    //private String latitude;//纬度（与lat重复）

    //private String encrypt;//坐标加密标识（与enCode重复）

    //private String direction;//方向角（与azimuth重复）

    //private String elevation;//海拔（与altitude重复）

    //private String speed;//瞬时速度（重复）

    //private String bizStatus;//运营状态（与operateType重复）

    //private String positionType;//位置信息类型（重复）

    //private String orderId;//订单号（与orderNo重复）

    public SjwzMessage() {
        super();

    }

    public String getAppKey() {
        return appKey;
    }

    public void setAppKey(String appKey) {
        this.appKey = appKey;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getDriverName() {
        return driverName;
    }

    public void setDriverName(String driverName) {
        this.driverName = driverName;
    }

    public String getDriverIdCode() {
        return driverIdCode;
    }

    public void setDriverIdCode(String driverIdCode) {
        this.driverIdCode = driverIdCode;
    }

    public String getVehicleLicense() {
        return vehicleLicense;
    }

    public void setVehicleLicense(String vehicleLicense) {
        this.vehicleLicense = vehicleLicense;
    }

    public Date getGpsTime() {
        return gpsTime;
    }

    public void setGpsTime(Date gpsTime) {
        this.gpsTime = gpsTime;
    }

    public Double getLon() {
        return lon;
    }

    public void setLon(Double lon) {
        this.lon = lon;
    }

    public Double getLat() {
        return lat;
    }

    public void setLat(Double lat) {
        this.lat = lat;
    }

    public Double getSpeed() {
        return speed;
    }

    public void setSpeed(Double speed) {
        this.speed = speed;
    }

    public String getOperateType() {
        return operateType;
    }

    public void setOperateType(String operateType) {
        this.operateType = operateType;
    }

    public String getPositionType() {
        return positionType;
    }

    public void setPositionType(String positionType) {
        this.positionType = positionType;
    }

    public Double getAzimuth() {
        return azimuth;
    }

    public void setAzimuth(Double azimuth) {
        this.azimuth = azimuth;
    }

    public String getWarnStatus() {
        return warnStatus;
    }

    public void setWarnStatus(String warnStatus) {
        this.warnStatus = warnStatus;
    }

    public String getAlarmStatus() {
        return alarmStatus;
    }

    public void setAlarmStatus(String alarmStatus) {
        this.alarmStatus = alarmStatus;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Double getAltitude() {
        return altitude;
    }

    public void setAltitude(Double altitude) {
        this.altitude = altitude;
    }

    public String getVehStatus() {
        return vehStatus;
    }

    public void setVehStatus(String vehStatus) {
        this.vehStatus = vehStatus;
    }

    public String getEnCode() {
        return enCode;
    }

    public void setEnCode(String enCode) {
        this.enCode = enCode;
    }

    public String getDriverRegionCode() {
        return driverRegionCode;
    }

    public void setDriverRegionCode(String driverRegionCode) {
        this.driverRegionCode = driverRegionCode;
    }

    public Long getVehicleRegionCode() {
        return vehicleRegionCode;
    }

    public void setVehicleRegionCode(Long vehicleRegionCode) {
        this.vehicleRegionCode = vehicleRegionCode;
    }

    public Long getMileage() {
        return mileage;
    }

    public void setMileage(Long mileage) {
        this.mileage = mileage;
    }

    public String getDriCertNo() {
        return driCertNo;
    }

    public void setDriCertNo(String driCertNo) {
        this.driCertNo = driCertNo;
    }

    public String getLicenseId() {
        return licenseId;
    }

    public void setLicenseId(String licenseId) {
        this.licenseId = licenseId;
    }
}
